
package com.hlkj.pay.vo.order.req;

import com.hlkj.pay.vo.BaseAgentPageReq;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * ad交易订单表
 * 
 * @TableName t_ad_order
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class PayOrderPageQueryReq extends BaseAgentPageReq {
    @Schema(description = "订单号")
    private String orderNo;
    @Schema(description = "1:平台订单号 2:商户订单号 3:机构订单号 4:渠道订单号 5:渠道附加订单号")
    private Integer type;
    
    //
    // /**
    //  * 平台订单号
    //  */
    // @Schema(description = "平台订单号")
    // private String payOrderNo;
    //
    // /**
    //  * 商户订单号
    //  */
    // @Schema(description = "商户订单号")
    // private String mchOrderNo;
    //
    // /**
    //  * 机构订单号
    //  */
    // @Schema(description = "机构订单号")
    // private String insOrderNo;
    // /**
    //  * 渠道订单号
    //  */
    // @Schema(description = "渠道订单号")
    // private String channelOrderNo;
    //
    // /**
    //  * 渠道附加订单号
    //  */
    // @Schema(description = "渠道附加订单号")
    // private String channelOrderId;

    /**
     * 订单状态，订单状态，1=初始化，2=支付中，3=支付成功，4=已撤销，5=订单关闭 6=订单关闭中 7=支付失败
     */
    @Schema(description = "订单状态，订单状态，1=初始化，2=支付中，3=支付成功，4=已撤销，5=订单关闭 6=订单关闭中 7=支付失败")
    private Integer state;
    
    /**
     * 商户商户号
     */
    @Schema(description = "商户商户号")
    private String appId;
    @Schema(description = "子商户id")
    private String subMchId;
    /**
     * 是否有退款，1 未退款 2 退款中 3 部分退款 4 退款完成
     */
    @Schema(description = "是否有退款，1 未退款 2 退款中 3 部分退款 4 退款完成")
    private Integer refundStatus;

    @Schema(description = "最小支付金额")
    private String minAmount;

    @Schema(description = "最大支付金额")
    private String maxAmount;
    
    /**
     * 默认服务商
     */
    @Schema(description = "服务商编码")
    private String providerCode;
    
    /**
     * 默认通道
     */
    @Schema(description = "通道编码")
    private String channelCode;

    
    @Schema(description = "支付类型 WECHAT: 微信 ALIPAY: 支付宝 UNION_APY: 云闪付 DIGITAL: 数字人民币")
    private String payType;
    
    @Schema(description = "支付方式 Native- 扫码支付； JSAPI-微信JSAPI、支付宝JSAPI支付、银联JSAPI支付； SIMPLE-简易支付 MINI_APP-微信小程序支付、支付宝小程序支付 H5-h5 支付 APP-APP 支付")
    private String paySubType;
    
    @Schema(description = "场景类型 1 线下 2 线上")
    private Integer sceneType;
    
    /**
     * 支付方式编码
     */
    @Schema(description = "支付方式编码")
    private String payWayCode;
    
    /**
     * 向下游回调状态, 0-未发送, 1-已发送'
     */
    @Schema(description = "向下游回调状态, 0-未回调,  1-已回调'")
    private Integer notifyState;
    /**
     * 是否分账，1=有，0=无
     */
    @Schema(description = "分账类型 ，0或空=无分账，1=实时分账，2=延时分账，3=商户 预设默认分账")
    private Integer fundProcessType;


    @Schema(description = "aut通道编码")
    private String autCode;

    @Schema(description = "AUT真实商户号")
    private String atuSubMerId;


    @Schema(description = "是否导出 ，0或空=否，1=是")
    private Integer export = 0;

    @Schema(description = "导出文件名")
    private String exportName;
}
